-
Notifications
You must be signed in to change notification settings - Fork 1.9k
C++: Generate SEH edges for pointer dereference loads/stores in __try blocks
#19775
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| or | ||
| expr instanceof PointerDereferenceExpr and | ||
| kind instanceof SehExceptionEdge and | ||
| exists(MicrosoftTryStmt tryStmt | tryStmt.getStmt() = expr.getEnclosingStmt().getParent*()) and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably lift this out to a predicate at this point so that we don't accidentally write the wrong predicate you fixed in 1b2813d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've unified the two in TranslatedExpr.qll.
MathiasVP
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM if DCA is happy!
|
DCA is happy. |
I'm currently limited to cases where a pointer deference is involved, and not doing anything for loads/stores that are part of specific initializations (like in adafc7d).